The present invention relates to an input/output (I/O) device and data image management systems for servers and storage converged systems. A storage converged system is a system that integrates server, storage, and networking management.
In recent years, thin provisioning has become popular. Thin provisioning includes methods for allocating area for a storage system that receives a write command to an unallocated area and allocating physical devices in response to the write commands, thereby increasing the efficiency of a system. Thin provisioning storage systems may reallocate frequently accessed allocated area to fast and expensive media and reallocate rarely accessed allocated areas to slower and less expensive media.
An example of reallocation is shown in FIG. 1 and FIG. 2, which illustrate thin provisioning systems, where pages define storage areas in virtual volumes and logical volumes. As shown in FIG. 1, virtual volumes V-VOL A includes pages 1 to 4 that are mapped to a plurality of pages in logical volumes in Pool A. In particular, page 2 is mapped to page 200 on tier 2. When the number of accesses to page 2 increases, the storage controller copies data from page 200 on tier 2 to page 101 on tier 1, and copies data from page 101 on tier 1 to page 200 on tier 2. As seen on FIG. 2, the system changes the mappings of the pages, i.e., the link between page 2 and page 200 to a link between page 2 and page 101, and changes the link between page 1 and page 101 to a link between page 1 and page 200. Thus, more frequently accessed data is allocated to higher performance media in order to increase the performance of the system.
In a conventional thin provisioning system, an OS program and an application program are running on a server. The OS program and the application program use virtual memory that is mapped to a memory on the server. If the OS program and the application program use all area of the memory, the OS program moves rarely accessed areas of the memory to a swap file on a storage volume. The OS program allocates area on the memory that is not used to the OS program or the application program and changes links between the virtual memory and the memory, and the virtual memory and the swap file. At this time, performance decreases because I/O latency to memory is substantially shorter than I/O latency to a Hard Disk Drive (HDD) on the storage volume.
When there is free space on the memory, there is no need to access the swap file on the storage volume. Therefore an area that includes the swap file is located on a lower tier. When there is no free space on the memory, there are many accesses to the swap file in order to move data on the memory to the swap file. It takes long time to move the data because the area that includes the swap file is located on lower tier (see FIG. 2). Consequently, performance in such a system is compromised.
As disclosed in U.S. Publication No. 2011/0202705, an administrator can locate a specified object to a specified tier. A storage subsystem gets location information of the specified object and moves pages that include the object based on the location information. Therefore, the administrator can locate the swap file on a higher tier. However, unless there is no free space on the memory on the server, the area of the higher tier that includes the swap file is not used. The cost of media on a higher tier is higher than the cost of media on lower tiers. As a result, cost performance of such a system is low.